package com.healthyeating.manage.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.healthyeating.common.annotation.Excel;
import com.healthyeating.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 饮水记录对象 tb_drink
 * 
 * @author 段奇乐
 * @date 2024-12-20
 */
public class Drink extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 饮水记录ID，主键自增 */
    private Long waterId;

    /** 今日饮水量 */
    @Excel(name = "今日饮水量")
    private Double todayDrink;

    /** 目标饮水量 */
    @Excel(name = "目标饮水量")
    private Double targetDrink;

    /** 饮水频率 */
    @Excel(name = "饮水频率")
    private Integer drinkFrequency;

    /** 饮水类型 */
    @Excel(name = "饮水类型")
    private Integer waterType;

    /** 关联用户id */
    private Long userId;

    public void setWaterId(Long waterId) 
    {
        this.waterId = waterId;
    }

    public Long getWaterId() 
    {
        return waterId;
    }
    public void setTodayDrink(Double todayDrink) 
    {
        this.todayDrink = todayDrink;
    }

    public Double getTodayDrink() 
    {
        return todayDrink;
    }
    public void setTargetDrink(Double targetDrink) 
    {
        this.targetDrink = targetDrink;
    }

    public Double getTargetDrink() 
    {
        return targetDrink;
    }
    public void setDrinkFrequency(Integer drinkFrequency) 
    {
        this.drinkFrequency = drinkFrequency;
    }

    public Integer getDrinkFrequency() 
    {
        return drinkFrequency;
    }
    public void setWaterType(Integer waterType) 
    {
        this.waterType = waterType;
    }

    public Integer getWaterType() 
    {
        return waterType;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("waterId", getWaterId())
            .append("todayDrink", getTodayDrink())
            .append("targetDrink", getTargetDrink())
            .append("drinkFrequency", getDrinkFrequency())
            .append("waterType", getWaterType())
            .append("userId", getUserId())
            .append("createTime", getCreateTime())
            .append("remark", getRemark())
            .toString();
    }

    // 额外的属性
    /** 当前天起始时间 */
    private Date startOfDay;

    /** 当前天结束时间 */
    private Date endOfDay;

    public Date getEndOfDay() {
        return endOfDay;
    }

    public void setEndOfDay(Date endOfDay) {
        this.endOfDay = endOfDay;
    }

    public Date getStartOfDay() {
        return startOfDay;
    }

    public void setStartOfDay(Date startOfDay) {
        this.startOfDay = startOfDay;
    }
}
